x86 shadow: reset up-pointers on all l3s when l3s stop being pinnable.
authorKeir Fraser <keir@xen.org>
Sat, 2 Oct 2010 14:05:50 +0000 (15:05 +0100)
committerKeir Fraser <keir@xen.org>
Sat, 2 Oct 2010 14:05:50 +0000 (15:05 +0100)
commit367bfd397c0ef9fb834aa8aa2f9bf026f27ab883
tree250f0f973fd40984c3d7a72093a9c218d16f73ac
parent49c831eaa4aa836112e703b46e838838893d85fb
x86 shadow: reset up-pointers on all l3s when l3s stop being pinnable.

Walking the pinned-shadows list isn't enough: there could be an
unpinned (but still shadowed) l3 somewhere and if we later try to
unshadow it it'll have an up-pointer of PAGE_LIST_NULL:PAGE_LIST_NULL.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen/arch/x86/mm/shadow/common.c
xen/arch/x86/mm/shadow/multi.c
xen/arch/x86/mm/shadow/private.h